<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <script>
    // 对象的遍历

    // 对象最常见的是for...in循环
    // const obj = {
    //   name: "zhangpang",
    //   age: 20,
    //   likes: ["sing"]
    // }
    // for (const key in obj) {
    //   console.log(key);
    //   console.log(obj[key]);
    // }





    // const obj = {
    //   name: "zhangpang",
    //   age: 20,
    //   likes: ["sing"]
    // }
    // es6新增了三个对象的方法
    // Object.keys()，Object.values()，Object.entries()

    // Object.keys()可以返回一个由对象的key组成的数组
    // const arr = Object.keys(obj);
    // console.log(arr);
    // Object.keys(obj).forEach(item => console.log(obj[item]));

    // Object.values()可以返回一个由对象的value组成的数组
    // const arr = Object.values(obj);
    // console.log(arr);

    // Object.entries()返回一个由键值对的数组组成的数组
    // const arr = Object.entries(obj);
    // console.log(arr);
    
    
    




    // Map对象(了解)
    // ES6 提供了 Map 数据结构。它类似于对象，也是键值对的集合，但是“键”的范围不限于字符串，各种类型的值（包括对象）都可以当作键。
    const m = new Map(); // 创建一个map实例
    // m.set("name", "zhangsan"); // set用来增或者改
    // console.log(m.get("name")); // get用来查

    let obj = {a: 3};
    m.set(obj, "zhangsan");
    console.log(m);
    console.log(m.get(obj));
    
  </script>
</body>
</html>